package com.huangsm.book.designmodel.jdkobserver;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

import java.util.Observable;

/**
 * @author huang
 * @PACKAGE_NAME com.huangsm.book.designmodel.jdkobserver
 * @PROJECT_NAME concurrence
 * @date 2019/2/15
 */
@Data
@Slf4j
public class ConcreteSubject extends Observable {
    private String info;
    public void doSomething(String str){
      log.info("subject:{}",str);
      setInfo(str);
      //改变主题对象的状态，这里如果不改变它的状态，则不会对观察者对象调用update方法
      setChanged();
        //notifyObservers();
        //这里传递参数是观察对象中update方法参数列表的第二个参数
        notifyObservers("subject is changed");
    }
}
